/*
 * <<
 *  Davinci
 *  ==
 *  Copyright (C) 2016 - 2019 EDP
 *  ==
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *        http://www.apache.org/licenses/LICENSE-2.0
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 *  >>
 *
 */

package com.cwf.metadatamanage.model.dtos;

import lombok.Data;

import java.util.List;

@Data
public class TableInfo {

    /**
     * 元数据表id
     */
    private Long tableId;

    /**
     * 元数据表名
     */
    private String tableName;

    /**
     * 元数据表描述
     */
    private String tableDescription;

    /**
     * 数据源id
     */
    private Long sourceId;

    /**
     * 数据源名称
     */
    private String sourceName;

    /**
     * 数据源类型
     */
    private String datasourceType;

    /**
     * 数据分层
     */
    private String dataLevel;

    /**
     * 数据库名称
     */
    private String databaseName;

    /**
     * schema
     */
    private String schemaName;

    /**
     * 主键list
     */
    private List<String> primaryKeys;

    /**
     * 字段list
     */
    private List<ColumnDto> columns;

    public TableInfo(String tableName, List<String> primaryKeys, List<ColumnDto> columns) {
        this.tableName = tableName;
        this.primaryKeys = primaryKeys;
        this.columns = columns;
    }

    public TableInfo(String tableName, String remark) {
        this.tableName = tableName;
        this.tableDescription = remark;
    }

    public TableInfo() {
    }
}
